package cn.hl.hm.entity;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

public class Driver extends BasePO{

	private List<DriverVehicle> vehicleList;
	private String qualificationCertificatePic;
	private BigDecimal usableCash;//可用金额
	private Integer freeDayFlag;
	private String chargeSetting;

	public BigDecimal getUsableCash() {
		return usableCash;
	}

	public void setUsableCash(BigDecimal usableCash) {
		this.usableCash = usableCash;
	}



	private BigDecimal withdrawCash;
	private ChannelDiscount channelDiscount;

	private Integer successOrderCount; // 成功订单数
	private Integer totalOrderCount; // 接单数量
	private BigDecimal totalIncome;// 累计收入
	private Integer commentCount;// 评价数量
	private String vehicleName;
	private Double driverLevel;
	private String totalReward; // 总奖励
	private Integer driverRouteCount;// 路线数量
	private String drivingGuaPic;
	private String vehicleLength;
	private String vehicleLoad;
	private String vehiclePic;
	private String vehicleWidth;
	private String roadTransportCertificateNumber;

	private Double stsPrice;
	private String vtVlId;

	private Integer FreeDay;

	public Integer getFreeDay() {
		return FreeDay;
	}

	public void setFreeDay(Integer freeDay) {
		FreeDay = freeDay;
	}



	private BigDecimal securityFee;// 保全金费用

	private String isSecurity;// 是否使用保全金

	public BigDecimal getSecurityFee() {
		return securityFee;
	}

	public void setSecurityFee(BigDecimal securityFee) {
		this.securityFee = securityFee;
	}

	public String getIsSecurity() {
		return isSecurity;
	}

	public void setIsSecurity(String isSecurity) {
		this.isSecurity = isSecurity;
	}

	public ChannelDiscount getChannelDiscount() {
		return channelDiscount;
	}

	public void setChannelDiscount(ChannelDiscount channelDiscount) {
		this.channelDiscount = channelDiscount;
	}



	private String vlId;// 车长ID 添加车型车长关系表时使用，用于前段传参数
	private String qrFlag;
	private String giftFlag;


	public String getGiftFlag() {
		return giftFlag;
	}

	public void setGiftFlag(String giftFlag) {
		this.giftFlag = giftFlag;
	}

	public String getQrFlag() {
		return qrFlag;
	}

	public void setQrFlag(String qrFlag) {
		this.qrFlag = qrFlag;
	}

	public String getVlId() {
		return vlId;
	}

	public void setVlId(String vlId) {
		this.vlId = vlId;
	}

	public String getVtVlId() {
		return vtVlId;
	}

	public void setVtVlId(String vtVlId) {
		this.vtVlId = vtVlId;
	}



	private String qrInfo; // 二维码信息




    public String getQrInfo() {
		return qrInfo;
	}

	public void setQrInfo(String qrInfo) {
		this.qrInfo = qrInfo;
	}

	public Double getStsPrice() {
		return stsPrice;
	}

	public void setStsPrice(Double stsPrice) {
		this.stsPrice = stsPrice;
	}




	public String getRoadTransportCertificateNumber() {
		return roadTransportCertificateNumber;
	}

	public void setRoadTransportCertificateNumber(String roadTransportCertificateNumber) {
		this.roadTransportCertificateNumber = roadTransportCertificateNumber;
	}

	public String getDrivingGuaPic() {
		return drivingGuaPic;
	}

	public void setDrivingGuaPic(String drivingGuaPic) {
		this.drivingGuaPic = drivingGuaPic;
	}

	public String getVehicleLength() {
		return vehicleLength;
	}

	public void setVehicleLength(String vehicleLength) {
		this.vehicleLength = vehicleLength;
	}

	public String getVehicleLoad() {
		return vehicleLoad;
	}

	public void setVehicleLoad(String vehicleLoad) {
		this.vehicleLoad = vehicleLoad;
	}

	public String getVehiclePic() {
		return vehiclePic;
	}

	public void setVehiclePic(String vehiclePic) {
		this.vehiclePic = vehiclePic;
	}

	public String getVehicleWidth() {
		return vehicleWidth;
	}

	public void setVehicleWidth(String vehicleWidth) {
		this.vehicleWidth = vehicleWidth;
	}

	public Integer getTotalOrderCount() {
		return totalOrderCount;
	}

	public void setTotalOrderCount(Integer totalOrderCount) {
		this.totalOrderCount = totalOrderCount;
	}

	public String getTotalReward() {
		return totalReward;
	}

	public void setTotalReward(String totalReward) {
		this.totalReward = totalReward;
	}

	public Integer getDriverRouteCount() {
		return driverRouteCount;
	}

	public void setDriverRouteCount(Integer driverRouteCount) {
		this.driverRouteCount = driverRouteCount;
	}

	public Double getDriverLevel() {
		return driverLevel;
	}

	public void setDriverLevel(Double driverLevel) {
		this.driverLevel = driverLevel;
	}

	public String getVehicleName() {
		return vehicleName;
	}

	public void setVehicleName(String vehicleName) {
		this.vehicleName = vehicleName;
	}

	public Integer getSuccessOrderCount() {
		return successOrderCount;
	}

	public void setSuccessOrderCount(Integer successOrderCount) {
		this.successOrderCount = successOrderCount;
	}

	public BigDecimal getTotalIncome() {
		return totalIncome;
	}

	public void setTotalIncome(BigDecimal totalIncome) {
		this.totalIncome = totalIncome;
	}

	public String getQualificationCertificatePic() {
		return qualificationCertificatePic;
	}

	public void setQualificationCertificatePic(String qualificationCertificatePic) {
		this.qualificationCertificatePic = qualificationCertificatePic;
	}

	public Integer getCommentCount() {
		return commentCount;
	}

	public void setCommentCount(Integer commentCount) {
		this.commentCount = commentCount;
	}



	private String ourSecurityToken;

    public String getOurSecurityToken() {
		return ourSecurityToken;
	}

	public void setOurSecurityToken(String ourSecurityToken) {
		this.ourSecurityToken = ourSecurityToken;
	}


    private Integer id;

    private String headPic;

    private String driverPhone;

    private String driverAccount;

    private String password;

    private String name;

    private String sex;

    private String idCard;

    private String idCardBackPic;

    private String idCardFrontPic;

    private String drivingLicensePic;

    private String drivingLicense;

    private String driverLicense;

    private String driverLicensePic;

    private String plateNumber;
    private String plateNumberPic;

    private String vehicleTypeId;

    private String driverStatus;

    private Date createTime;

    private String currentLocation;

    private String workStatus;

    private Date updateTime;

    private String deviceToken;

    private String driverUnpassReason;

    private Integer roleId;

    private BigDecimal remainCash;

    private String platformId;

    private Date freeTime;
    //工作状态

	public Integer getNoloadFree() {
		return noloadFree;
	}

	public void setNoloadFree(Integer noloadFree) {
		this.noloadFree = noloadFree;
	}

	private Integer noloadFree;

    public Date getFreeTime() {
		return freeTime;
	}

	public void setFreeTime(Date freeTime) {
		this.freeTime = freeTime;
	}

	public Integer getId() {
        return id;
    }

    public String getPlateNumberPic() {
		return plateNumberPic;
	}

	public void setPlateNumberPic(String plateNumberPic) {
		this.plateNumberPic = plateNumberPic;
	}

	public void setId(Integer id) {
        this.id = id;
    }

    public String getHeadPic() {
        return headPic;
    }

    public void setHeadPic(String headPic) {
        this.headPic = headPic == null ? null : headPic.trim();
    }

    public String getDriverPhone() {
        return driverPhone;
    }

    public void setDriverPhone(String driverPhone) {
        this.driverPhone = driverPhone == null ? null : driverPhone.trim();
    }

    public String getDriverAccount() {
        return driverAccount;
    }

    public void setDriverAccount(String driverAccount) {
        this.driverAccount = driverAccount == null ? null : driverAccount.trim();
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password == null ? null : password.trim();
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name == null ? null : name.trim();
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex == null ? null : sex.trim();
    }

    public String getIdCard() {
        return idCard;
    }

    public void setIdCard(String idCard) {
        this.idCard = idCard == null ? null : idCard.trim();
    }

    public String getIdCardBackPic() {
        return idCardBackPic;
    }

    public void setIdCardBackPic(String idCardBackPic) {
        this.idCardBackPic = idCardBackPic == null ? null : idCardBackPic.trim();
    }

    public String getIdCardFrontPic() {
        return idCardFrontPic;
    }

    public void setIdCardFrontPic(String idCardFrontPic) {
        this.idCardFrontPic = idCardFrontPic == null ? null : idCardFrontPic.trim();
    }

    public String getDrivingLicensePic() {
        return drivingLicensePic;
    }

    public void setDrivingLicensePic(String drivingLicensePic) {
        this.drivingLicensePic = drivingLicensePic == null ? null : drivingLicensePic.trim();
    }

    public String getDrivingLicense() {
        return drivingLicense;
    }

    public void setDrivingLicense(String drivingLicense) {
        this.drivingLicense = drivingLicense == null ? null : drivingLicense.trim();
    }

    public String getDriverLicense() {
        return driverLicense;
    }

    public void setDriverLicense(String driverLicense) {
        this.driverLicense = driverLicense == null ? null : driverLicense.trim();
    }

    public String getDriverLicensePic() {
        return driverLicensePic;
    }

    public void setDriverLicensePic(String driverLicensePic) {
        this.driverLicensePic = driverLicensePic == null ? null : driverLicensePic.trim();
    }

    public String getPlateNumber() {
        return plateNumber;
    }

    public void setPlateNumber(String plateNumber) {
        this.plateNumber = plateNumber == null ? null : plateNumber.trim();
    }

    public String getVehicleTypeId() {
        return vehicleTypeId;
    }

    public void setVehicleTypeId(String vehicleTypeId) {
        this.vehicleTypeId = vehicleTypeId == null ? null : vehicleTypeId.trim();
    }

    public String getDriverStatus() {
        return driverStatus;
    }

    public void setDriverStatus(String driverStatus) {
        this.driverStatus = driverStatus == null ? null : driverStatus.trim();
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getCurrentLocation() {
        return currentLocation;
    }

    public void setCurrentLocation(String currentLocation) {
        this.currentLocation = currentLocation == null ? null : currentLocation.trim();
    }

    public String getWorkStatus() {
        return workStatus;
    }

    public void setWorkStatus(String workStatus) {
        this.workStatus = workStatus == null ? null : workStatus.trim();
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public String getDeviceToken() {
        return deviceToken;
    }

    public void setDeviceToken(String deviceToken) {
        this.deviceToken = deviceToken == null ? null : deviceToken.trim();
    }

    public String getDriverUnpassReason() {
        return driverUnpassReason;
    }

    public void setDriverUnpassReason(String driverUnpassReason) {
        this.driverUnpassReason = driverUnpassReason == null ? null : driverUnpassReason.trim();
    }

    public Integer getRoleId() {
        return roleId;
    }

    public void setRoleId(Integer roleId) {
        this.roleId = roleId;
    }

    public BigDecimal getRemainCash() {
        return remainCash;
    }

    public void setRemainCash(BigDecimal remainCash) {
        this.remainCash = remainCash;
    }

	public String getPlatformId() {
		return platformId;
	}

	public void setPlatformId(String platformId) {
		this.platformId = platformId;
	}

	public BigDecimal getWithdrawCash() {
		return withdrawCash;
	}

	public void setWithdrawCash(BigDecimal withdrawCash) {
		this.withdrawCash = withdrawCash;
	}

	public void setFreeDayFlag(Integer freeDayFlag) {
		this.freeDayFlag = freeDayFlag;
	}

	public Integer getFreeDayFlag() {
		return freeDayFlag;
	}

	public void setChargeSetting(String chargeSetting) {
		this.chargeSetting = chargeSetting;
	}

	public String getChargeSetting() {
		return chargeSetting;
	}

	public List<DriverVehicle> getVehicleList() {
		return vehicleList;
	}

	public void setVehicleList(List<DriverVehicle> vehicleList) {
		this.vehicleList = vehicleList;
	}

	public BigDecimal calculateRemainCash(){
		if(getRemainCash()!=null && getWithdrawCash()!=null){
			return getRemainCash().subtract(getWithdrawCash());
		}
		return null;
	}
}